package com.tianyu.service.mqtt.model.dto;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**********************************
 * @Author YSW
 * @Description
 * @Date 2024/7/26 - 14:27
 **********************************/

@NoArgsConstructor
@Data
public class HangarStateReceiver {

    // 机场累计运行时长：秒
    private Integer accTime;

    // 空调模式："0":"空闲","1":"制冷","2":"加热","3":"除湿"
    private Integer airMode;

    //
    private Integer airModeSwitchTime;

    // 机场声光报警状态："0":"声光报警关闭","1":"声光报警开启"
    private Integer alarmState;

    //
    private Integer batteryStoremode;

    //
    private Integer batteryValue;

    // 机场绑定的云盒编号
    private String boxSn;

    // 电量百分比
    private Integer capacityPercent;

    // 充电状态：0-空闲，1-充电中
    private Integer chargeState;

    // 舱盖状态："0":"关闭","1":"打开","2":"半开","3":"舱盖状态异常"
    private Integer coverState;

    //
    private Integer defaultLineHeight;

    //
    private Integer defaultReturnHeight;

    //
    private Integer drcState;

    // 飞机是否在舱："0":"舱外","1":"舱内"
    private Integer droneInDock;

    //
    private Integer electricSupplyVoltage;

    // 环境温度：摄氏度
    private Double environmentTemperature;

    //
    private Integer firstPowerOn;

    //
    private Integer gpsNumber;

    //
    private Integer hangarAltitude;

    // 机场编号
    private String hangarId;

    // 机场纬度
    private Double hangarLat;

    // 机场经度
    private Double hangarLng;

    // 机场名称
    private String hangarName;

    // 机场当前版本号
    private String hangarNowVersion;

    // 机库类型:1-充电机库，2-换电机库，3-大疆DOCK机库
    private Integer hangarType;

    // 舱内湿度：%RH
    private Integer humidity;

    //
    private Integer inVideo;

    // 机库指令按钮名称及指令号，机库在线时有此值
    private List<Instruct> instructList;

    //
    private Integer isFixed;

    // 机场累计作业次数
    private Integer jobNumber;

    //
    private Integer maintenanceState;

    //
    private Integer maxLineHeight;

    //
    private Integer maxWindSpeed;

    //
    private Integer minBattery;

    //
    private Integer minLineHeight;

    // 机场状态："0":"空闲中","1":"现场调试","2":"远程调试","3":"固件升级中","4":"作业中"
    private Integer modeCode;

    // 机场在线状态：0-离线， 1-在线
    private Integer online;

    //
    private Integer openBreak;

    //
    private Integer operatorId;

    // 舱外视频：0-无，1-有
    private Integer outVideo;

    // 推杆状态："0":"关闭","1":"打开","2":"半开","3":"推杆状态异常"
    private Integer putterState;

    // 降雨量："0":"无雨","1":"小雨","2":"中雨","3":"大雨"
    private Integer rainfall;

    //
    private Integer rtkNumber;

    //
    private Integer safeLandHeight;

    //
    private Integer safeRadius;

    //
    private Double secondLat;

    //
    private Double secondLng;

    // 补光灯状态："0":"关闭","1":"打开"
    private Integer supplementLightState;

    // 舱内温度：摄氏度
    private Double temperature;

    //
    private long timestamp;

    //
    private Integer videoQuality;

    // 风速：米每秒
    private Double windSpeed;

    //
    private Integer workingCurrent;

    //
    private Integer workingVoltage;

    //

    @NoArgsConstructor
    @Data
    public static class Instruct {
        private Integer instructId;
        private String instructName;
    }
}
